class EacRubyUtils::Enum

def enum(key, *args, &block)

def enum(key, *args, &block)
  value = Value.new(self, key, args, &block)
  raise ::ArgumentError, "#{self} already has a value with key=#{value.key}" if
    value_set.include?(value)
  value_set << value.apply
  self
end