I have been able to implement somewhat similar design at my end.
I created a grid and used "pySelected" property against the checkboxes ( both on the title and body level). Post that I configured an acitivity which checks the current value and set the value to either true or false.
Find below the screenshots.
Fig 1 : Grid configuration
Fig 2 : Activity configuration
Hope this will help you to take your design forward.
If you are having trouble with checkboxes or radio buttons, use tracer or fiddler (both are useful but not at the same time !!) to pay careful attention to details about when the changed screen value of the checkbox is relayed back to the server and represented as an actual changed property value (probably Boolean). Similarly, pay careful attention to when the changed property value is represented as a changed checkbox or radio button on the screen.
If the screen and property get out of sync, confusion will result. For instance, if the checkmark represents a TRUE value for the property, and you turn on the checkmark on the screen but then the screen is refreshed with the property value which is still FALSE, the checkmark will turn off on the screen.