Is indexing the following columns efficient? I have the table: orders with the following columns 

(orderNumber, orderDate, shippedDate, status, users_userId)


I indexed orderDate, shippedDate, status for performing similar queries to the following:

SELECT orderNumber FROM orders WHERE status='shipped' 
ORDER BY orderDate, shippedDate;


Since there are only about 14 possible statutes for an order which I thought  would speed up the search whenever I need to select range of rows of orders with a specific status. 

Also since indexes are sorted,creating an index on the orderDate and shippedDate it allows a query's ORDER BY specification to be met without a separate sorting step.

I just want to know if this sounds correct and if am I really optimizing my query in this way?

Here is the EXPALIN output of my query:

id: 1
select_type: SIMPLE
table: orders
type: ref
possible_keys: composite_index
key: composite_index
key_len: 138
ref: const
rows: 1
filtered: 100.00
Extra: Using where; Using index
For this query:

SELECT `orderNumber`
FROM orders
WHERE `status` = 'shipped’ 
ORDER BY orderDate, shippedDate;


Try a composite index on orders(status, orderDate, shippedDate, orderNumber).