For Enum classes, each enum's case is internally represented as a constant with object type, storing instance of enum itself. Unfortunately, this makes impossible to return values for such constants, as they require loading and creation of similar object instances.