è più un problema di DB che di PHP... potresti fare così (è solo un esempio: la tabella PRODOTTI non sono sicuro se a te serve):

TABELLA TIPOLOGIE:
id_tipologia (auto)
nome (es.: buste, biglietti, etc...)

TABELLA CATEGORIE:
id_categoria (auto)
descrizione (es.: granatura, peso, dimensione)
tipologia (id della tipologia cui appartiene)

TABELLA PRODOTTI:
id_prodotto (auto)
descrizione
etc...

TABELLA CARATTERISTICHE:
prodotto (id del prodotto cui ci si sta riferendo)
categoria (id della categoria cui ci si sta riferendo)
valore (valore della caratteristica)

Per esempio per una busta avresti:
in TIPOLOGIE:
1, "busta"

in CATEGORIE:
1, "dimensione", 1
2, "carta", 1

in PRODOTTI:
1, "busta natalizia"

in CARATTERISTICHE:
1, 1, "15x10"
1, 2, "bianca con finestra"