typesafe enum ですね。

class Enum {
 public static final Enum ENUM_A = new Enum();
 public static final Enum ENUM_B = new Enum();

 private Enum() {}
}

こうすれば、同一VM内ではEnumインスタンスは0個、ENUM_AとENUM_Bはそれぞれ
最大1つずつってことを強制できる。これで equals メソッドはObjectクラスで定義され
ているインスタンス比較のものをそのまま使うことができる。

>>593 のように Enum クラス自体がインスタンス生成可能で、内部の列挙定数が
非スタティックフィールドだと、複数の ENUM_A や ENUM_B のインスタンスが作られ
てしまう可能性があって、うまくないかも。

なので、コンストラクタをプライベートにして、各列挙定数をスタティックに。