Each EnumValue has a base value and a display value. The type of the base value can be either String or Integer. Every EnumValue has a display value.
If the value of an Enumeration type object attribute is
null, when that attribute is accessed an EnumValue is returned
that has a base value of
null, rather than
itself. This means that
empty(object.attribute) would be
empty(object.attribute.value) would be