Bean Validation dificuldade

Pessoa é o seguinte, estou tentando fazer uma Constraint de Ie, porem ela deve validar de acordo com o estado

vejo o codigo

A Constraint

@Constraint(validatedBy = IeValidacao.class)
@Documented
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Ie {

  String message() default "Cep inválido";
  Class<?>[] groups() default { };
  Class<? extends Payload>[] payload() default { };
  String estado() default "Sp";
}

A classe de validação

public class IeValidacao implements ConstraintValidator<Ie, String> {

    private String estado;

    public void initialize(Ie constraintAnnotation) {
        estado = constraintAnnotation.estado(); // não esta ENTTRANDO neste metodo
    }

    public boolean isValid(String value, ConstraintValidatorContext context) {
        if (estado != null && estado == "Sp" && value == "123") {
            return true;
        }
        if (estado != null && estado == "Mg" && value == "456") {
            return true;
        }
        return false;
    }
}

Classe Pessoa

public class Pessoa {
    private String estado ;
    
    @Ie(estado= estado ) // ERRO NESTA LINHA, axo que so permite constante, como faze então?
    private String ie;


    public String getIe() {
        
        return ie;
    }

    public void setIe(String ie) {
        this.ie = ie;
    }

    public String getEstado() {
        return estado;
    }

    public void setEstado(String estado) {
        this.estado = estado;
    }
    


}

Pessoa observe que comentei as linha que estou com dificuldade, mais seria mais ou menos isso. alguem poderia me ajudar

Deste ja agradeço

Pessoal alguem para ajudar?