então na hora de mapear a entidade, você faria algo parecido com isso aqui:
@Entity
@Table(name = "funcionario")
public class Funcionario {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String nome;
priate String email;
@Enumerated(EnumType.ORDINAL)
private Setor setor;
// getters e setters
}
Ali no "@Enumerated(EnumType.ORDINAL)" ele vai salvar com o número correspondente no enum, por exemplo "Setor: 1" , caso você queira salvar no banco o nome especifico, você muda para "@Enumerated(EnumType.STRING)", e ele salvara, por exemplo "Setor: CAIXA".
Quando você for buscar algo do banco, no proprio DTO você seleciona como demonstrar, se retorna o nome ou o número.
Acho que era essa a dúvida, certo? Caso eu não tenha entendido, me explique melhor e ajudo!
Abraços