Calculating a shipping cost
The problem you're facing is that shipping rates are calculated at the order level while your field exists at the product level. You can loop over the line items on an order to inspect this field value and then make calculations to the price based on what you find, but what do you do when the field value is different for different products on an order?

In my opinion, this logic is going to get confusing quickly to try and reproduce in Rules. I would favor writing a custom Rules action that inspects and sorts the product data in code, adjusting the price directly via the API instead of through the Rules UI.