I'm currently working on something similar at work -- one field that would indicate a changing list of choices based on whatever the primary custom form is (the custom form at the top of the list if you have more than one custom form).
The way it would work for me, would be to make it an external lookup field. So you would have to create another new field, and retire your tickbox field. Kat has some examples of external lookup fields here:
https://experienceleaguecommunities.adobe.com/t5/workfront-discussions/how-to-replace-typeahead-with-external-lookup-fields/m-p/685514
There are many ways to set this up and I am sure someone else will come up with something more cunning than this. However, what I would suggest as a beginner, would be a workfront project with parent tasks that are named after your custom form IDs, and child tasks named for the selections you would like for each. So Form 2, the print form -- the parent task would be named 63782432fk3489 and the children under this would be your 2 options. Form 1, the parent task would be named 908234678sjkdhs873, and the children under this would be 50 options (ouch). And so on.
If you haven't been scared off yet, you would then set up a calculated field. Again, someone might suggest something different here! Your calculated field would just be {categoryID} -- so I need a calculated field to indicate to my external lookup field what the category ID is, because I didn't have time to figure out how else to do this, for my demo. 🙂
Now, your external lookup field. Bare minimum, the API call would be something along the lines of:
$$HOST/attask/api/v17.0/task/search?projectID=ABC123&parent:name={DE:DEF456}
where ABC123 is the guid of your project, and DEF456 is the name of your calculated field. You can add other options! I normally put something in for task status = new, because then I can retire the old options (keep them off the list) but keep them around (not delete) for historical.
I know this is a lot to build out! And possibly someone can skinny this down for you. But this at least works in the meantime as a proof of concept, so you can build out a couple of the parent tasks and then see if you like it enough to keep going.