Do té doby ale většina vývojářů používala textové nebo celočíselné konstanty, jejichž problém je jednosměrnost a fakt, že nejsou nijak seskupené. Zjistit zpětně z hodnoty (třeba 1, 0, 5, „blabla“) o jakou konstantu se jedná je prakticky nemožné (leda pomocí relfexe procházet a porovnávat, ale to musím vědět aspoň třídu, ve které hledám). Taky když nějaká hodnota má jako parametr int/String musím se dívat do dokumentace, kde hledat příslušné konstanty – kdežto v případě enumu vím i bez dokumentace, co tam patří a nemůžu tam zadat úplnou blbost (jako třeba natvrdo zadané číslo, které nepochází z žádné konstanty), protože jinak by se mi program ani nepřeložil. Takže IMHO enumy v Javě užitečné jsou.
„typesafe enum“ jde sice použít, ale kdo ho skutečně používal? Většinou jsem totiž viděl kód zaneřáděný těmi textovými/číselnými konstantami.