You will need to make sure that you are storing the category in the cart when you are adding the items. Once you do that you will be able to start crafting the shipping charge rules. In the shipping tab create a new rule, I will go over an example of the first US shipping rule.
You will first add the condition to check for the shipping country being US, you can do this by checking the session variable eCartCheckoutForm_shipping_country being equal to 'US'. Next you will need to add in the condition for the category. You will 'number of items with a specific column value' then select your category column and enter the value for that category, then set it to > 0. These two conditions together will make it so this shipping charge will only apply to US orders where there is an item of a particular category.
For the Canadian charges you would have the same check of the shipping country and you would add in the category checks. For the increment shipping you would need two new separate charge rules for each of these.