I understand how the attributes work, however I am having a difficult time figuring out, or finding a plugin to customize the store better.

Here is an example of what I need to do:

User selects the shoe, then is taken to the shoe product page.

For the attributes, I have color, width and size for them to choose.

My problem is that each shoe Width, they have a different set of sizes. Currently I have notes in each description telling the user which Width is restricted in size, however I am looking for a way for the user to select their Width, then the corresponding Sizes will change for that width.

Example:

Default width and size for product.
Width: N (narrow)
Size: 5 - 10, 11, 12

User changes the Width to:

W (wide)

which has corresponding sizes of:

7, 9, 10-12

How am I able to control this?