@josenavas and I chatted about this and couldn't think of a good reason to keep it, since it made the subsetting more complicated. Here's my thoughts:

We're already storing two sparse matrix representations in the HDF5 file (CSR and CSC). I don't think users should know/care about which one is loaded, since they really only care about getting back a BIOM `Table`. A `Table` abstracts away the concept of sparse matrix formats because it performs conversions automatically depending on the table operations.

By not allowing the user to specify a particular format to load, this gives us more freedom to choose the correct format to subset from. For example, if the user wants to subset samples but also wants CSR loaded, we'll be forced to subset from the less-efficient format. If we just allow them to subset from an axis, we can choose the most efficient representation to deal with.

Also note that conversions between COO/CSR/CSC are fast, O(n) operations (they're very quick on the EMP table), so having a conversion isn't that big of a penalty.

If you want to keep `order`, I recommend disallowing its use with the subsetting operations and only allowing it in cases where the entire table is loaded. This should clear up the scenario where the user wants to subset samples from a CSR matrix.