enhancement
Wenn man möchte, dass die Namen, mit denen man Enum-Konstanten z.B. in einer typisierten Konfiguration (XML-Attribute) schreibt, von den Java-Konstanten-Namen abweichen (z.B. weil man kein All-Uppercase haben möchte), dann kann man die Enum das ExternallyNamed interface implementieren lassen. Die Enum-Konstante declariert damit eine weitere Methode (externalName()), der dann in der Serialisierung verwendet wird.
Die Implementierung von ExternallyNamed ist aber relativ aufwendig. Netter wäre es, wenn man denselben Effekt duch Annotation der Konstanten mit der @Name-Annotation erreichen könnte, so wie das auch bei Properties der typisierten Konfiguration funktioniert.