You could achieve this by finding the groupwise maximum for your row.
Specifically, you use the order as the ID, and find the "maximum" address type in a subquery (it will find shipto
if it's there, and billto
if not), and use that result to connect to rows in the outer query.
For example (using an inefficient correlated subquery):
SELECT * FROM order_info AS A WHERE A.address_type = (
SELECT MAX(address_type) FROM order_info AS B
WHERE A.order_id = B.order_id )
The above link gives an example of converting that to a more efficient join.