io mi creerei via codice 2 datagrid e 2 dataset

ds1/dg1 -> le categorie principali
ds2/dg2 -> le categorie secondarie

per ogni riga del ds1 riempio il ds2 (dopo averlo pulito) e lo metto nel dg2

la prima colonna del dg1 sarà la categoria principale e la seconda conterrà dg2. togli la formattazione e simili e schippi via veloce veloce