Yeah, that's a pretty common way to simulate enumerations, pre 1.5. A common thing to do would be to make sure that CreateNation.USA == CreateNation.USA under any and all circumstances. An easy way to break that is to serialize and deserialize the instance, then you have two of them.
XxPrOdiGyxX, your code above is a problem for a couple of reasons. First, note the private constructor on CreateNation. The whole point is that you cannot (normally) create new instances outside the class declaration itself, so creating "RUS" will not compile. Second, the == operator is dangerous to use here. It would be more consistent if the nation string had been assigned like "RUS".intern(). To test equality you can use == on the object instances themselves (since there's only ever supposed to be one instance of each, but see my first paragraph), by using toString().equals(otherNation.toString()) or, ideally, by implementing equals() on CreateNation itself and comparing the value of nation.