change the way to generate optgroups