Hi tcope25,
Implementing rel="alternate" hreflang is likely one of the most complex, and most commonly incorrectly implemented elements for SEO. Just the example you've provided above would take about 30 minutes to talk through, clarify business needs, and then determine a course of action.
I normally don't push off answering a question, but I would highly recommend seeking out an SEO professional to help you sort this out. Tere's just a lot wrong with the proposed code above - sorry, not trying to be insulting, but helpful.
One real standout in your proposed code above that I would not recommend is to set your "x-default" to one of your secondary international sites. The "x-default" if used, should point to your strongest, primary version of your business sites. For example, if your English site in the US is your primary, most important site, then your "x-default" should the English US site URL.
Also based on your code above, it looks like you are serving the same content, via the same URLs to US and Canada searchers. If this is true , meaning you are not localising content for Canada and it is 100% the same page (I hope you aren't showing different content to US and Canada visitors via the same URL by attempting to use geo-location to decide what they see - that's a whole separate SEO issue) - then you don't need "en-us" and "en-ca" you just need "en" - But you would need to be sure that you haven't set your International Targeting in Google Search Console to "United States" - You need to leave the country targeting there unchecked.
This are very high level observations - I would recommend engaging a reliable SEO consultant to help make sure it's all implemented correctly.