Hi Duncan,
One way to do this is to handle a global system event, so that your code can check the field values of your page type, before saving. For example, you could use the DocumentEvents.Update.Before event. Or, if you are using workflow and versioning, you could use WorkflowEvents.SaveVersion.Before. This would allow you to check the value of the Boolean radio button, and clear field values accordingly.
Let me know if this helps.
Thanks,
Mike