Granted, it may require some special syntax, i.e.enum E { a, b if version(Windows), c if version(Windows), d if version(Posix), } or something to that effect.
Come to think of it, since UDAs are now allowed, the compiler could potentially be taught this:
enum E { a, @version(Windows) b, @version(Windows) c, @version(Posix) d, }