Converter para estado e cidade

Porgentileza alguem me ajude com uma classe converter para estado e cidade
Minha view

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://xmlns.jcp.org/jsf/core">

    <body>

        <ui:composition template="./TemplateCongressista.xhtml">

            <ui:define name="conteudo">
                <h2>Faça seu Cadastro!</h2>
                <h:form id="myform">

                    <h:panelGrid   columns="3" >
                         

                        <p:outputLabel for="estado" value="Estado" />
                        <p:selectOneMenu  id="estado" required="true"  requiredMessage="Insira o Estado" value="#{controleEstado.estG.id}">
                            <f:selectItem itemLabel="Escolha uma opção" itemValue="" noSelectionOption="true" />
                            <f:selectItems value="#{controleEstado.listest}" var="est" itemLabel="#{est.nomeestadoE}" itemValue="#{est.id}" />
                            <f:ajax execute="@this" render="cidade" event="change" listener="#" />		
                            <p:message for="ESTADO" />
                        </p:selectOneMenu>
                        <br />

                        <p:outputLabel for="cidade" value="Cidade" />
                        <p:selectOneMenu  id="cidade" required="true" requiredMessage="Insira a Cidade" value="#{controlePessoa.pesG.id_Cidade}">
                            <f:selectItem itemLabel="Escolha uma opção" itemValue="" noSelectionOption="true" />
                            <f:selectItems value="#{controleCidade.listest}" var="est" itemLabel="#{est.nomecidadeE}" itemValue="#{est}" />
                            <f:ajax execute="@this" render="cidade" event="change" listener="#" />		
                            <p:message for="CIDADE" />
                        </p:selectOneMenu> 
                        <br />
                        <p:commandButton    action="#{controlePessoa.salvar()}"    value="ok" update =":myform" />

                    </h:panelGrid>
                </h:form>    </ui:define>     </ui:composition>  </body></html>

Controle Estado
@ManagedBean
@RequestScoped
public class ControleEstado {

    DAOGenerico dao = new DAOGenerico();
    EstadoG estG = new EstadoG();
    List<EstadoG> listest = new ArrayList();

    public List<EstadoG> getListest() {

        try {
            if ((listest == null) || (listest.isEmpty())) {
                listest = dao.listar(EstadoG.class);
            }
        } catch (Exception e) {
        }
        return listest;
    }

    public void setListest(List<EstadoG> listest) {
        this.listest = listest;
    }

    public void salvar() {
        dao.inserir(estG);
        estG = new EstadoG();
    }

    public DAOGenerico getDao() {
        return dao;
    }

    public void setDao(DAOGenerico dao) {
        this.dao = dao;
    }

    public EstadoG getEstG() {
        return estG;
    }

    public void setEstG(EstadoG estG) {
        this.estG = estG;
    }

    public ControleEstado() {
    }

Controle Cidade

@ManagedBean
@RequestScoped
public class ControleCidade {

    DAOGenerico dao = new DAOGenerico();
    CidadeG cidadeG = new CidadeG();
    List<CidadeG> listest = new ArrayList();

    public void setListest(List<CidadeG> listest) {
        this.listest = listest;
    }

    public List<CidadeG> getListest() {

        try {
            if ((listest == null) || (listest.isEmpty())) {
                listest = dao.listar(CidadeG.class);
            }
        } catch (Exception e) {
        }
        return listest;
    }
    public void salvar() {
        dao.inserir(cidadeG);
        cidadeG = new CidadeG();
    }

    public DAOGenerico getDao() {
        return dao;
    }

    public void setDao(DAOGenerico dao) {
        this.dao = dao;
    }

    public CidadeG getCidadeG() {
        return cidadeG;
    }

    public void setCidadeG(CidadeG cidadeG) {
        this.cidadeG = cidadeG;
    } }

Muito Obrigado

É necessário utilizar o Converter, neste tutorial do Uaihebert

Link