To fix this issue You need to think about how these enums will be used by external code. In essence you are creating another namespace. The first namespace is the package, and the second is the class. That may become tedious for developers to type. It also requires the class to be typed in first for your IDE autocompletion to kick in. Unless the package is saturated with too many definitions, or there are potential name conflicts, it might be better to define them outside of the class. Kotlin allows the enums to still be defined in the same file as the class if that helps keep you organized on the physical level.