Mixing business logic and presentation layer in enum type
If you want to decouple Enum and presentation logic, consider using EnumMap . This type of collection is fast and key-safe. 

IMO, there is nothing wrong to store short and full currency names in CurrencyType. But localized name (as well as country's flag and other visual aspects) better be decoupled and put into presentation layer. You can use short names as keys for resource bundles. 

Furthermore, if all CurrencyType values reproduce currency short names, you can eliminate using dedicated private field for them and use Enum.name() instead.