[RESOLVIDO]Duvida recuperando Enum pelo id

Olá, eu resgato um int(correspondente ao id do enum) da db, atraves dele preciso setar o enum em determinada classe;
Saberiam me explicar alguma outra forma fora essa que eu estou utilizando e if/else?
Li inumeros blogs, posts, mas n achei nada.

enum Pos{ 
       PRIMEIRO(1, "Primeiro"), SEGUNDO(2,"Segundo")
      //Atributos id, descrição
      //Construtor       
      //Getters
}
class Pessoa{
    Pos pos;
    
    void setPos(int id){
         switch(id){
          case 1:
              this.pos = Pos.PRIMEIRO;
              break;
         case 2:
              this.pos = Pos.SEGUNDO;
              break;       
         }
    }
}
 
void setPos(int id){  
    for (Pos p: Pos.values()) {
        if (p.getId() == id) {
            this.pos = p;
            break;
        }
    }
}  

Eu talvez até passaria isso para a própria enum:

enum Pos{   
     PRIMEIRO(1, "Primeiro"), SEGUNDO(2,"Segundo")  
     //Atributos id, descrição  
     //Construtor         
     //Getters  
     
    public static Pos valueById(int id){  
        for (Pos p: Pos.values()) {
            if (p.getId() == id) {
                return p;
                break;
            }
        }
        return null;
    } 
}  
class Pessoa{  
    Pos pos;  
      
    void setPos(int id){  
        this.pos = Pos.valueById(id);
    }  
} 

Brigadão cara, ajudou muito, isso nem tinha passado pela minha cabeça.