Boa noite
O problema não está no enum em Java, e sim no banco de dados.
Quando a tabela artistas foi criada, o Hibernate gerou a coluna tipo com um CHECK constraint baseado nos valores do enum que existiam naquele momento (SOLO, DUPLA, BANDA).
Depois você adicionou GRUPO no enum Java, mas o banco continuou aceitando apenas os valores antigos.
Por isso:
SOLO, DUPLA e BANDA funcionamGRUPO gera erro de ConstraintViolationException
O Hibernate até tenta inserir o valor, mas o PostgreSQL bloqueia por causa do constraint artistas_tipo_check.
Como resolver:
A forma mais simples (para projeto de estudo) é recriar a tabela.
Se você apagar a tabela ou usar spring.jpa.hibernate.ddl-auto=create, o Hibernate vai gerar o schema novamente já incluindo GRUPO.
Em um cenário mais próximo do real, o ideal é ajustar o constraint manualmente no banco, removendo o antigo e criando um novo que aceite o valor adicional:
ALTER TABLE artistas DROP CONSTRAINT artistas_tipo_check;
ALTER TABLE artistas ADD CONSTRAINT artistas_tipo_check
CHECK (tipo IN ('SOLO', 'DUPLA', 'BANDA', 'GRUPO'));
Também vale conferir se o mapeamento está usando:
@Enumerated(EnumType.STRING)
private TipoArtista tipo;
Esse formato é o mais seguro, porque evita problemas caso a ordem do enum mude no código.
Resumindo: sempre que você altera um enum que é persistido no banco, o schema precisa ser atualizado também. Só mudar o enum no Java não é suficiente.