@Override
  public Map<Integer, EnumInfo> enums() {
    // ugh, I don't think we can rely on the local map to contain all types
    Map<Integer, EnumInfo> enums = new HashMap<>();
    for (Entry<Object, Object> type : getIdToType().entrySet()) {
      Object id = type.getKey();
      if (type.getValue() instanceof EnumInfo) {
        enums.put(((EnumId) id).intValue(), (EnumInfo) type.getValue());
      }
    }
    return enums;
  }
Should only be called holding the dlock
This method iterates through the entire PdxTypes region and syncs the reverse map with the pdx
region This is an expensive operation and should only be called during initialization. A cache
listener is used to keep the reverse maps up to date.
geode-core/src/main/java/org/apache/geode/pdx/internal/PeerTypeRegistration.java