Google responded to a webmaster asking if they can use ISO 3166-2 for their hreflang files saying you should probably stick with ISO 3166-1. Google’s documentation specifically says they support ISO 3166-1 and makes no mention of ISO 3166-2.
Google writes in their documentation:
There is no mention of ISO 3166-2, which is why Google is telling webmasters not to use it.
I’d stick to the documented ISO 3166-1 for hreflang. Do you have examples where -2 would be better to use?
— Google Webmasters (@googlewmc) October 24, 2017
Forum discussion at Twitter.