I have custom field group set as used for 'individual' but I want to change it to limit it to a contact subtype. What is the best way to achieve this - I could create a new field group and copy data over - but there are several hundred contacts to do this for
Jonathan, Welcome to CiviCRM stackexchange.
Sometimes its not possible to change custom group's used for since the CiviCRM creates a separate table for this with a Foreign key. However its possible to update if the 'Used for' share the same table.
In your case you want to make it visible for Individual subtype then its possible through UI by editing the custom group and then selecting the contact sub-type from the dropdown list.
I don't think you can change what the field is "used for" but you could use search builder to find all individuals where the field is non-null and then export these records. Then you can import the data for those contacts mapping to the new field that is "used for" a contact. Be careful not to overwrite any other data!