[Resolvido] Enum

Olá pessoal!

Tenho uma classe Pessoa, porém pessoa pode ser física e jurídica. Optei por usar enum, criando uma classe

public enum TipoPessoa {
PF, PJ;
}

mas não sei como usar, se precisa inicializar, em fim
preciso que vcs me deem exemplos de código nessa situação, onde tenho a classe Pessoa e uma classe emun que define o tipoPessoa, ou seja, se Física ou Jurídica,
não sei como ficaria o código tanto na classe Pessoa como TipoPessoa.

Me ajudem

Obrigada!

o enum:

public enum TipoPessoa {
    FISICA,
    JURIDICA;
}

aqui eu coloquei uma classe Pessoa com um construtor que inicializa as 2 variaveis:

public class Pessoa {
    private String nome;
    private TipoPessoa tipoPessoa;
    
    public Pessoa (){
        this.nome = "Teste";
        this.tipoPessoa = TipoPessoa.FISICA;
    }
            
}

Tópico do GUJ: http://www.guj.com.br/java/264989-classe-enum#1386903

pelo que entendi do exemplo acima minha classe enum TipoPessoa está certa.

Duvida:1
Mas no meu casso minha classe Pessoa é um superclasse que tem um atributo TipoPesso tipoPessoa(ou seja, está relacionando com TipoPessoa), então eu não vou inicializar tipoPessoa dentro da superclasse, certo?

Vou fazer isso apenas nas subclasse setando o tipo de acordo com cada uma, FISICA para pessoa física e JURIDICA para pessoa jurídica

Exemplo: subclasse Fornecedor(tipo jurica)

public class Fornecedor extends Pessoa{
//atributos

public Fornecedor (){
super.tipoPessoa = TipoPessoa.JURIDICA;
}
}

Dúvida 2:
Mas me surgiu um problema que não sei resolver: Meu fornecedor pode ser pessoa física ou jurídica, Daí como seria?
Como ficaria meu código diante disso, como trato essa situação?

obrigada!

1-
vc define isso na isntancia da classe q vc quer, n necessariamente no construtor, coloquei no construtor so como exemplo

2-
ai depende da sua aplicação, vai ter que ter alguma coisa pra tomar essa decisão, um formulario provavelmente?

olha ai um exemplo ±

superclasse:

public class Pessoa {
    private String nome;
    private TipoPessoa tipoPessoa;

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public TipoPessoa getTipoPessoa() {
        return tipoPessoa;
    }

    public void setTipoPessoa(TipoPessoa tipoPessoa) {
        this.tipoPessoa = tipoPessoa;
    }       
}
public class Fornecedor extends Pessoa{
    private String produto;

    public String getProduto() {
        return produto;
    }

    public void setProduto(String produto) {
        this.produto = produto;
    }
}

definindo o tipo de pessoa do fornecedor:

public static void main(String[] args) {
       
        Fornecedor fornecedor = new Fornecedor();
        fornecedor.setTipoPessoa(TipoPessoa.FISICA);
        
    }