Many enhancements

add addGroup(), clear(), getValue(), getValues(), setSelectedValue() methods