@Test
  public void testOrdinal() {
    assertTrue(GEMFIRE_3_0.compareTo(GEMFIRE_4_0) < 0);
    assertTrue(GEMFIRE_4_0.compareTo(GEMFIRE_4_1) < 0);
    assertTrue(GEMFIRE_4_1.compareTo(GEMFIRE_5_0) < 0);
    assertTrue(GEMFIRE_5_0.compareTo(GEMFIRE_5_1) < 0);
    assertTrue(GEMFIRE_5_1.compareTo(GEMFIRE_5_5) < 0);
    assertTrue(GEMFIRE_5_5.compareTo(GEMFIRE_5_7) < 0);
    assertTrue(GEMFIRE_5_7.compareTo(GEMFIRE_5_8) < 0);
    assertTrue(GEMFIRE_5_8.compareTo(GEMFIRE_6_0) < 0);
    assertTrue(GEMFIRE_6_0.compareTo(GEMFIRE_6_1) < 0);
    assertTrue(GEMFIRE_6_1.compareTo(GEMFIRE_6_5) < 0);
    assertTrue(GEMFIRE_6_5.compareTo(GEMFIRE_6_6) < 0);
    assertTrue(GEMFIRE_6_6.compareTo(GEMFIRE_7_0) < 0);
    assertTrue(GEMFIRE_7_0.compareTo(GEMFIRE_8_0) < 0);
    assertTrue(GEMFIRE_8_0.compareTo(GEMFIRE_8_1) < 0);
    assertTrue(GEMFIRE_8_1.compareTo(GEODE_1_0) < 0);
  }
Previous strings based version just check ordinal comparison of strings. It failed test for
"8_0".compareTo("8.1") < 0. It also would have failed for "9.0".compareTo("10.0") < 0. Testing
that ENUM based solution is ordinal correct for comparisons.

@since GemFire 8.1
geode-core/src/test/java/org/apache/geode/internal/cache/xmlcache/CacheXmlVersionJUnitTest.java