Enum vs Constants

I am implementing multiple select elements in my view and wanted to use enum method to have a clean implementation and control over values for select tag.
Then, I started writing this in my model.


“Arial”: 0,

“Courier New”: 1,

“Garamond”: 2,

“Georgia”: 3,

“Helvetica”: 4,

“Impact”: 5,

“Lucida Console”: 6,

“Lucida Grande”: 7,

“Monaco”: 8,

“Palatino”: 9,

“Times New Roman”: 10,

“Trebuchet MS”: 11


enum header_font: FONTS

enum text_font: FONTS


Soon after I got the error “but this will generate a instance method “Arial?”, which is already defined by another enum.”

I understand the conflict here but I think enum implementation is really neat feature in Rails and should be used more often. ( am i wrong? )

In this scenario, I was never going to use Model.arial? method. The only reason for using enums here was to use, for example these methods;

validates_inclusion_of :header_fonts, in: Model.header_fonts.keys


Do you think that there should be an option to initialize an enum without helpers ?

Something like

enum header_font: FONTS, helpers: false


Or should I just use constants instead?