The similar topic was already discussed here: http://sourceforge.net/p/proguard/feature-requests/84/
The problem is: each enum class contains "hidden" string literals with field names, and ProGuard doesn't touch them in the obfuscation stage.
My suggestion is to add a new per-class configuration option, something like "clear-string-literals". If you specify one for a enum class in your project, ProGuard simply replaces all string literals in that class with "" (empty string).
Such option would be perfect for obfuscating enums which are not being used as full-fledges classes, but simply for switching and iterating purposes. Of course one should be careful with that option because it would clear all "regular" string literals in your enum as well.
I've investigated it a bit, and it looks like enum's string literals are not being used anywhere in runtime library; enum's valueOf() and toString() methods aren't being used either. Classes like EnumMap and EnumSet, however, require enum's values() static method to work, but clearing string literals doesn't affect their functionality either.
Thanks in advance!