enum Monat { Januar, ... }
enum Tag { Montag, ... }
wird übersetzt in
class Monat extends Enum<Monat>
class Tag extends Enum<Tag>
class Enum<E extends Enum<E>>
implements Comparable<E>
damit man unterscheiden kann:
Tag.Montag.compareTo(Tag.Dienstag) Tag.Montag.compareTo(Monat.Februar)