While the approved answer works, there is another way using default woo functionality with no additional plugins.
First look into:
get_woocommerce_term_meta( $sub_category->term_id, 'order', true )
Then get all your categories and sort the array using this order.
$sortedMenu = array(); // new array
// menu var should be get_categories or taxonomy function return
// I also added order key/val in my category/term array item (along with other terms name, id etc)
// Then I sorted them like bellow
foreach( $menu as $key => $item ) $sortedMenu[$key] = $item['order'];
array_multisort( $sortedMenu, SORT_ASC, $menu );