One example where it might be bad: If it's an enum, you can also do if (JAVA_VERSION==JAVA_7, so the enum constants are not named like the fact they represent.
I think thats all too much logic for something simple. For one major version we will have mostly 2 or 3 constants. In trunk we currently only have Java7 and a deprecated one which is always true. New constants are only added on request, when we want to test for features/bugs.