Are there strong opinions on natural keys versus artificial keys?
You may get some very strongly worded responses to this question, depending on who sees it and how they respond. If any of it comes off as offensive, first, I apologize for them. For whatever reason, this topic makes people crazy. Second, try to let it slide off your back because, again, this topic makes people crazy.
Let me start by saying this is my opinion, backed up by 30 years of hands-on experience in IT as a developer and DBA. However, there can, and probably will be, honest disagreement.
Go with the first option. What you've got there are artificial keys. In my opinion these are safer mechanisms for designing your databases. They perform better than natural keys. They're easier to maintain than natural keys. They will make dealing with things like the GDPR and the CPPA easier (not an issue here I think, but worth mentionning). Yes, if you're using an artificial key, you should also have a unique constraint on the natural key, CustomerType in the example, which means a little added storage and processing overhead as you have two indexes instead of one, but that's worth all the other benefits. It means that when you change the CustomerType values, and yeah, I know, they'll never, ever change, pinkie swear, until they do, you can change the text without then having to update all the associated records in the table. It's a win all the way.
Further, please, oh please, do enforce foreign key constraints in your database. If for no other reason, it's about belts and suspenders. Good engineering practices dictate backups and safeties. Rather than rely on a single point of failure, the always flawless code written by the development team (and no, not picking on them, just pointing it out, they may screw up), you have a second set of constraints, the foreign keys. However, enforced foreign keys helps ensure clean data which is vital down the road when it gets consumed for reports and analysis. Also, in SQL Server, enforced referential integrity is actually a performance enhancement. The optimizer can take advantage of those constraints in the choices it makes.
Putting on my asbestos undies for the coming flames.