Add optgroup support