Chamar metodo estatico da classe enum usando atributo

Tenho essa enum com alguns estados e gostaria de saber se tem alguma forma de exibir algum desses estados buscando pelo campo id na TesteEnumEstado via metodo estatico…
ate declarei o metodo, mas nao consegui fazer funcionar…

[code]public enum Estado {
PR(1, “Parana”, 400),
SC(2, “Santa Catarina”, 200),
RS(3, “Rio Grande Do Sul”, 150);

private Estado() {
}

private int id;
private String nome;
private int numeroCidades;

private Estado(int id, String nome, int numeroCidades) {
	this.id = id;
	this.nome = nome;
	this.numeroCidades = numeroCidades;
}

public int getId(){
	return id;
}
public String getNome() {
	return nome;
}

public int getNumeroCidades(){
	return numeroCidades;
}

public static String exibirEstado(int id){
	return("");
}

}[/code]

[code]public class TesteEnumEstado {

public static void main(String[] args) {
	System.out.println("Exibe todos os estados:");
	for(Estado e : Estado.values()){
		System.out.println("UF: " + e.name() + " Nome: " + e.getNome() + " Cidades: " + e.getNumeroCidades());
	}
	
	System.out.println("--------------------------------------------");

	System.out.println("Exibe estado pelo UF:");
	Estado e1 = Estado.PR;
	System.out.println(e1);
	System.out.println(Estado.PR.getNome());
	
	System.out.println("--------------------------------------------");
	System.out.println("Exibe estado pelo id:");
	System.out.println(Estado.exibirEstado(2));
	
}

}[/code]

Acho que vai ter que fazer o bom e velho método que percorre os itens e acha o que você quer pelo campo que quer