Meu fi, vamos ao começo.
O que é um produto?
Acredito que essa pergunta não foi respondida corretamente pela sua modelagem. Você está querendo colocar coisas semelhantes em registros diferentes.
Na sua tabela de usuários podem ter 2 pessoas com o mesmo cpf/cnpj? Com certeza não.
Para facilitar sua vida pesquise o conceito de SKU.
Cada produto deve ser uma única linha no seu banco de dados. não podem ter produtos diferentes se não estará dificultando uma coisa que pode ser resolvida com relacionamentos