Save group permissions to page header

I’ve created a custom admin page and I need to be able to save group permissions to the page header.

I have my blueprint setup with the following, this is the closest I’ve been able to get.

header.access.site:
  type: select
  label: 'Permissions'
  options:
    'level01': 'Access level 01'
    'level02': 'Access level 02'
    'level03': 'Access level 03'

This outputs the following to the page header:

access:
  site: level01

But what I need is:

access:
  site:
    level01: true

Using type: permissions instead of type: select in my blueprint outputs the correct format to the page header but it doesn’t display my custom group levels on the admin page (the bottom 3 shown below).

Any ideas?

Any help much appreciated.

Thanks

Hopefully a step closer, I started over with my blueprint but still having problems:

header.access.site:
  type: checkboxes
  label: Permissions
  data-options@: '\Grav\Common\User\Group::groupNames'
  use: keys
  validate:
    type: array

Output:

access:
  site:
    level01: true
    level02: false
    level03: false

The problem is the false entries seem to break the permissions, without these it works fine so I need try and prevent them being added. I’ve tried using ignore_empty hoping it would prevent empty checkboxes creating the false entries but it throws an error: