Add 'add_attr_enum_from_{hash,array}' methods and update 'attr_enum' method to utilize them. This allows enum value tags to be an array now instead of just 'rest' arguments.
Delegate 'eql?' and 'hash' methods to 'value' method to allow hash object lookup by 'EntryValue' object
Add spec for array option when defining enum in model