enum
boxing / unboxing / caching