Estávamos discutindo no meu trabalho sobre o uso de enums em Java.
Um colega de trabalho estava argumentando que, ao usar enumerações no lado do servidor, sempre que necessário, deveríamos usar string para fazer referência a ela (por exemplo, ao enviar dados de JS para o servidor ou ao armazenar no banco de dados), argumentando que isso é muito mais claro para o desenvolvedor e também argumentando que falharia rapidamente em caso de erros de digitação.
Eu sempre usei números inteiros para identificar enumerações nesses casos, porque seriam identificadores imutáveis e não teriam problemas de maiúsculas e minúsculas (mesmo que um desenvolvedor cometesse o erro de usar o valor 2 em vez de 1, isso não falharia rapidamente).
Sendo muito analítico sobre esses argumentos, eu diria que o uso de strings é melhor, mas tenho uma sensação estranha sobre isso (como se não fosse uma boa abordagem).
Existe alguma prática recomendada em relação a essa discussão que possa me orientar?
Edit: Sempre que possível, usamos o próprio enum, portanto todo o nosso código Java usa o Enum. Por "referência a uma enumeração", quero dizer: referenciar o valor na enumeração ao trocar dados do JavaScript para o servidor ou armazenar dados no banco de dados