The Sun enum guide briefly addresses this issue and refers to the Typesafe Enum pattern as a possible solution. If you can get your hands on the first edition of Effective Java, there's tip in there that explain how to implement this. If you can't, a Google search should turn up some usefull results.
Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.