Alterar inputText de acordo com a opção escolhida no selectOneMenu

Pessoal,

Tenho um campo selectOneMenu com algumas opções de busca para o usuário, dentre essas opções, o usuário pode pesquisar um fornecedor pelo CNPJ.

O problema é que o campo onde ele vai informar o cnpj a ser pesquisado, é um campo de texto simples, usado para pegar os dados a serem pesquisados. No caso de pesquisa com CNPJ preciso que esse campo ou vire um inputMask e eu coloco a mascara do CNPJ ou continue sendo um inputtext mas de alguma maneira tenha a mascara do CNPJ. Como posso fazer isso?

<tr>
 <td style="border: #FFF; width: 30px;">
     <p:selectOneMenu id="tipoFiltro" value="#{fornecedorController.tipoFiltro}">                                                                                                                                                               
               <f:selectItem itemValue="nome" itemLabel="Nome fantasia"/> 
               <f:selectItem itemValue="razaoSocial" itemLabel="Raz&atilde;o Social"/> 
               <f:selectItem itemValue="cnpj" itemLabel="CNPJ"/>
               <f:selectItem itemValue="codigo" itemLabel="C&oacute;digo"/>
     </p:selectOneMenu>
 </td>
 <td style="border: #FFF;">
      <p:inputText id="filtro" value="#{fornecedorController.filtro}" size="55" autocomplete="true"/> 
      <p:commandButton image="ui-icon-search" value="Filtrar" action="#{fornecedorController.filtrar}"                update=":formPrincipal:fornecedores"/>  
  </td>                                                                
</tr>

Alguém pode me ajudar?