One idea. We redfine the enum with the new syntax. In Lucene 4.x we may additionally define the old constants as additional alias statics (+ deprecated) inside the enum? Java does not allow additional constants in an enum that are identical to others, but we can maybe move the deprecated ones between the real ones (like: LUCENE_4_0, @Deprecated LUCENE_40, LUCENE_4_1, @Deprecated LUCENE_41, although I am not sure if they should come before or after, but we can add magic to the version comparison functions: onOrAfter() can accept both).
We must also fix the parseVersionLenient for use by Solr + ElasticSearch.