[WIP] EnumMap implementation

PR for #6 

* based on `SplObjectStorage`
* doesn't order enums by their ordinal number
* auto-instantiate scalar values
* allows only enums of the same type as given on constructor (not `instanceof`)

TODO:
* tests for all methods
* block comments