Category->Ordinal caching implementation using an optimized data-structures

The internal map data structure consumes less memory (~30%) and is faster (~50%) compared to a Java HashMap<String, Integer>.