Primefaces Label e Mask dinamicamente mudando input e label

Ola boa tarde gostaira se alguém pudesse ajudar
tenho esta pagina gostaria que quando clicasse no radio buton
exemplo se fosse juridico
o label mudasse para Razão Social, e iinput mask mudasse para mascara de juridico,
tentei fazer com um enum
com variaiveis local setanto valores.

abaixo a pagina

<ui:composition xmlns=“http://www.w3.org/1999/xhtml
xmlns:h=“http://xmlns.jcp.org/jsf/html
xmlns:f=“http://xmlns.jcp.org/jsf/core
xmlns:ui=“http://xmlns.jcp.org/jsf/facelets
xmlns:p=“http://primefaces.org/ui
template="/WEB-INF/template/template.xhtml">

<ui:define name="content">
	<f:metadata>

		<f:viewParam name="cliente" value="#{beamCliente.cliente}" />


	</f:metadata>
	<h1 class="aw-page-title">Cadastro Cliente</h1>

	<h:form id="frmcliente">
		<div class="ui-fluid">
			<p:panelGrid columns="4" columnClasses="ui-grid-col-2,ui-grid-col-1"
				layout="grid" styleClass="ui-panelgrid-blank ui-fluid">
				<p:outputLabel for="input" value="Código" />
				<p:inputText id="input" readonly="true"
					value="#{beamCliente.cliente.codigo}" />
			</p:panelGrid>
			<p:panelGrid columns="4" columnClasses="ui-grid-col-2,ui-grid-col-4"
				layout="grid" styleClass="ui-panelgrid-blank ui-fluid">
				<p:outputLabel id="t" for="cli" value="Tipo Cliente" />
				<p:selectOneRadio id="cli" value="#{beamCliente.cliente.tipo} "  required="true" immediate="true"
			valueChangeListener="#{beamCliente.alterarlabel}"	unselectable="true"	layout="responsive" columns="3">
				<f:selectItem itemLabel="Físico" itemValue="Físico" />
                 <f:selectItem itemLabel="Jurídico" itemValue="Jurídico" />
					<p:ajax event="change"  update="resultado,frmcliente,nome" />
					
				</p:selectOneRadio>
			</p:panelGrid>
			<p:panelGrid columns="2"
				columnClasses="ui-grid-col-2,ui-grid-col-4,ui-grid-col-2,ui-grid-col-4"
				layout="grid" styleClass="ui-panelgrid-blank ui-fluid" id="resultado">
				
				<p:outputLabel id="nome" value="#{beamCliente.label} "  />
				<p:inputText id="iclide" />
				<p:outputLabel value="Cpf/Cnpj" />
			<p:inputMask mask="#{beamCliente.fisico}" size="20"/>
			</p:panelGrid>
		</div>

	</h:form>
</ui:define>

</ui:composition>

aqui a controller

package br.com.sistemagestao.controller;

import java.io.Serializable;

import javax.annotation.PostConstruct;
import javax.faces.bean.ViewScoped;
import javax.faces.event.ActionEvent;
import javax.inject.Named;

import br.com.sistemagestao.modelo.Cliente;
import br.com.sistemagestao.modelo.TipoPessoa;

@SuppressWarnings(“deprecation”)
@Named
@ViewScoped
public class BeamCliente implements ControllerPadrao, Serializable {

/**
 * 
 */
private static final long serialVersionUID = 1L;

private Cliente cliente;
private String fisico;
private String juridico;
private String label;

public void alterarlabel() {
	label=null;
	System.out.println("Teste" + cliente.getTipo());
	if (isCPF()) {

		label = "Nome";
		fisico="999.999.999-99";
		System.out.println("passou " + label);
	} else {
		System.out.println(cliente.getTipo());
		System.out.println(label);
		label = "Razão Social";
	}
}

public String getLabel() {
	return label;
}

public void setLabel(String label) {
	this.label = label;
}

@Override
public void salvar() {
	// TODO Auto-generated method stub

}

public boolean isCPF() {

	cliente.setTipo("Físico");

	return  cliente.getTipo() != null && cliente.getTipo().equals("Físico");
}

public boolean isCNPJ() {
	return cliente.getTipo() != null && cliente.getTipo().equals("Jurídico");
}

@PostConstruct
@Override
public void inicializar() {
	novo();
	label = "Nome/Razão Social";
	isCPF();

}

@Override
public void novo() {
	this.cliente = new Cliente();

}

@Override
public void pesquisar() {
	// TODO Auto-generated method stub

}

@Override
public void excluir(ActionEvent evento) {
	// TODO Auto-generated method stub

}

public Cliente getCliente() {
	return cliente;
}

public void setCliente(Cliente cliente) {
	this.cliente = cliente;
}

public TipoPessoa[] getTipoPessoa() {
	return TipoPessoa.values();

}

public String getFisico() {
	return fisico;
}

public void setFisico(String fisico) {
	this.fisico = fisico;
}

public String getJuridico() {
	return juridico;
}

public void setJuridico(String juridico) {
	this.juridico = juridico;
}

}