Default some columns as undisplayed in datagrid

The final behavior I would like is already possible via settings>columns>unselect column checkbox, which is then cached - which is brilliant!

But I would like to have specific columns available to be displayed/added to the datagrid via settings>columns>select column checkbox; so the default behavior prior to the user removing the column from datagrid would be to have identified columns removed from the datagrid, but easy to add. Is this possible?

I am fine with caching taking over the behavior, but then if clear cache is selected the originally specified columns are reset with some removed (unselected) by default and others displayed in the datgrid.