That’s not really the intention of Terraform. You define the state you want via code and the tool then makes that state reality. The providers needed to achieve that (of which there are lots of possibilities) is just a detail rather than something you worry about when running the plan/apply.
You can use -target to only apply parts of the code, but that is not expected to be a common way to run Terraform, and identifies things via their resource name, not the provider(s) needed.
If you want to have totally separate deployments it is best to structure that as two different state files, which generally is two git repos or different directories. I wouldn’t look to use workspaces for this, as those are generally used where you have the same code but different variables, rather than totally different code.