Estábamos discutiendo en mi trabajo sobre el uso de enumeraciones en Java.
Un compañero de trabajo argumentaba que cuando se usan enumeraciones en el lado del servidor, siempre que sea necesario, debemos usar cadenas para hacer referencia a él (por ejemplo, al enviar datos desde JS al servidor o al almacenar en la base de datos), argumentando que esto es mucho más claro para el desarrollador y también argumentando que fallaría rápidamente en caso de errores tipográficos.
Siempre usé números enteros para identificar enumeraciones en estos casos, porque serían identificadores inmutables y no tendrían problemas de mayúsculas y minúsculas (aunque un desarrollador cometiera el error de usar el valor 2 en lugar de 1, no fallaría rápidamente).
Siendo muy analítico sobre estos argumentos, diría que usar cadenas es mejor, pero me da una sensación extraña (como si no fuera un buen enfoque).
¿Hay alguna mejor práctica con respecto a esta discusión que pueda guiarme?
Editar: siempre que sea posible, utilizamos la enumeración en sí, por lo que todo nuestro código Java utiliza la enumeración. Por "referencia a una enumeración" quiero decir: hacer referencia al valor en la enumeración al intercambiar datos de JavaScript al servidor o almacenar datos en la base de datos