refactor(Properties/Figure): replace TreeMap with a stack-based enum map

Closes #12