In the below example, the columns can be hidden / shown using checkboxes in the header dropdown menu.
When all lowest level columns in a group are hidden, parent columns if any also get hidden.
There are 3 important column properties which help customise the header menu:
menuInClose: Used for grouped columns, it states the initial open/close state of grouped column parents in menu e.g., Rank column.
menuInDisable: Checbkox is in disabled state so show hide state of this column can't be changed in header menu.
menuInHide: This makes the column hidden in header menu. Obviously its show hide state can't be changed in header menu.