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 (
    1913, 1958, 2290, 1751, 1957, 2202, 1814, 
    2331, 1748, 2005, 2214, 2342, 2215, 
    2211, 2225, 2212, 2213, 2226, 2151, 
    1882
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00035

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "23.41"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 23,
            "rows_produced_per_join": 23,
            "filtered": "100.00",
            "index_condition": "(`cscartdevel`.`cscart_products_categories`.`product_id` in (1913,1958,2290,1751,1957,2202,1814,2331,1748,2005,2214,2342,2215,2211,2225,2212,2213,2226,2151,1882))",
            "cost_info": {
              "read_cost": "13.06",
              "eval_cost": "2.30",
              "prefix_cost": "15.36",
              "data_read_per_join": "368"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        },
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "cscartdevel.cscart_products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 1,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "5.75",
              "eval_cost": "0.12",
              "prefix_cost": "23.41",
              "data_read_per_join": "3K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`cscartdevel`.`cscart_categories`.`storefront_id` in (0,1)) and ((`cscartdevel`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`cscartdevel`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`cscartdevel`.`cscart_categories`.`usergroup_ids`))) and (`cscartdevel`.`cscart_categories`.`status` in ('A','H')))"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids
1748 324M
1751 313M
1814 324M
1882 388M
1913 299M
1957 324M
1958 396M
2005 324M
2151 313M
2202 299M
2211 324M
2212 324M
2213 324M
2214 324M
2215 324M
2225 324M
2226 324M
2290 313M
2331 324M
2342 324M