SELECT 
  cscart_products_categories.product_id, 
  GROUP_CONCAT(
    IF(
      cscart_products_categories.link_type = "M", 
      CONCAT(
        cscart_products_categories.category_id, 
        "M"
      ), 
      cscart_products_categories.category_id
    )
  ) AS category_ids 
FROM 
  cscart_products_categories 
  INNER JOIN cscart_categories ON cscart_categories.category_id = cscart_products_categories.category_id 
  AND cscart_categories.storefront_id IN (0, 1) 
  AND (
    cscart_categories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_categories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_categories.usergroup_ids
    )
  ) 
  AND cscart_categories.status IN ('A', 'H') 
WHERE 
  cscart_products_categories.product_id IN (
    208, 209, 210, 211, 212, 213, 215, 217, 
    218, 220, 222, 224, 225, 226, 227, 228
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00082

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "30.95"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "0.40"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 84,
            "rows_produced_per_join": 3,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "19.53",
              "eval_cost": "0.67",
              "prefix_cost": "20.20",
              "data_read_per_join": "8K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`satishecarter_march_003`.`cscart_categories`.`storefront_id` in (0,1)) and ((`satishecarter_march_003`.`cscart_categories`.`usergroup_ids` = '') or find_in_set(0,`satishecarter_march_003`.`cscart_categories`.`usergroup_ids`) or find_in_set(1,`satishecarter_march_003`.`cscart_categories`.`usergroup_ids`)) and (`satishecarter_march_003`.`cscart_categories`.`status` in ('A','H')))"
          }
        },
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "satishecarter_march_003.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 2,
            "rows_produced_per_join": 0,
            "filtered": "5.97",
            "index_condition": "(`satishecarter_march_003`.`cscart_products_categories`.`product_id` in (208,209,210,211,212,213,215,217,218,220,222,224,225,226,227,228))",
            "cost_info": {
              "read_cost": "9.00",
              "eval_cost": "0.08",
              "prefix_cost": "30.55",
              "data_read_per_join": "6"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids
208 171M
209 172M
210 172M
211 172M
212 172M
213 201M
215 201M
217 168M
218 168M
220 169M
222 169M
224 165M
225 165M
226 201M
227 170M
228 170M