@vint Well, you can't really do that with an Enum per se, the point of it is to have all the members enumerated at compile time, and creating one on the fly would negate this.
There already exists a Currency class in Java with a factory method for getting an instance based on a three letter ISO currency code. Maybe you can look into using that?