Java Enums та перевизначення методів

Читаючи книгу Programming Groovy, я дізнався про можливість перевизначати методи в enums. Про це навіть не здогадувався раніше, і це мене справді здивувало.
І справді, нехай у нас є enum в якому вказані дні в тижні:

enum DAYS {
MON, TUE,
WED, THU,
FRI, SAT,
SUN;

public String is() {
return "working";
}
}

Що ж, MON.is().equals("working") має бути істинним; але подібне тяжко сказати, наприклад, для SUN.is().equals("working").
Звичайно тепер ми можемо визначити enum наступним чином:

enum DAYS {
MON, TUE,
WED, THU,
FRI,
SAT {
public String is() {
return "week-end, day 1";
}
},
SUN {
public String is() {
return "week-end, day 2";
}
};

public String is() {
return "working";
}
}

І все, тепер SUN.is().equals("week-end, day 2") == true.
Проблема вирішена, при чому, без збереження зайвого поля - вказівника на рядок.

Mac OS X

Yesterday I have been fully moved to the Mac OS X. Spent all day for finding and installing software. I little bit sad, because can't find java 1.6 and 32 bit version.

I was thinking about changing used OS from Windows to Mac OS X or to Linux (Ubuntu) a very long time already. But just now found free day to move.
Still, If I'll not find the solution with java update and sound bad work then I'll become Linux (Ubuntu) user.