SELECT 
  pf.feature_id, 
  pf.feature_style, 
  pf.position, 
  pf.purpose, 
  pf.display_on_catalog, 
  pfd.description, 
  pfd.internal_name, 
  pfd.prefix, 
  pfd.suffix, 
  (
    CASE WHEN pf.purpose = 'group_catalog_item' THEN 0 ELSE 1 END
  ) AS purpose_position 
FROM 
  cscart_product_features AS pf 
  INNER JOIN cscart_product_features_descriptions AS pfd ON pf.feature_id = pfd.feature_id 
  AND pfd.lang_code = 'en' 
WHERE 
  pf.feature_id IN (548, 549) 
ORDER BY 
  purpose_position ASC, 
  pf.position ASC, 
  pf.feature_id ASC

Query time 0.00025

Explain
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE pf range PRIMARY PRIMARY 3 2 Using index condition; Using filesort
1 SIMPLE pfd eq_ref PRIMARY PRIMARY 9 cscart_dev_4_16.pf.feature_id,const 1 Using index condition

Result

feature_id feature_style position purpose display_on_catalog description internal_name prefix suffix purpose_position
549 dropdown_images 10 group_catalog_item Y Color Color 0
548 dropdown_labels 20 group_variation_catalog_item Y Size Size 1