SELECT 
  cscart_aprilproducts_categories.product_id, 
  GROUP_CONCAT(
    IF(
      cscart_aprilproducts_categories.link_type = "M", 
      CONCAT(
        cscart_aprilproducts_categories.category_id, 
        "M"
      ), 
      cscart_aprilproducts_categories.category_id
    )
  ) AS category_ids 
FROM 
  cscart_aprilproducts_categories 
  INNER JOIN cscart_aprilcategories ON cscart_aprilcategories.category_id = cscart_aprilproducts_categories.category_id 
  AND cscart_aprilcategories.storefront_id IN (0, 1) 
  AND (
    cscart_aprilcategories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_aprilcategories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_aprilcategories.usergroup_ids
    )
  ) 
  AND cscart_aprilcategories.status IN ('A', 'H') 
WHERE 
  cscart_aprilproducts_categories.product_id IN (
    182, 41, 56, 57, 30, 112, 246, 89, 197, 
    208, 173, 97, 229, 211, 210, 209, 67, 
    25, 116, 213, 215, 226, 200, 154
  ) 
GROUP BY 
  cscart_aprilproducts_categories.product_id

Query time 0.00148

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "31.22"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "0.68"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_aprilcategories",
            "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": "((`vishalecarter_april_setup`.`cscart_aprilcategories`.`storefront_id` in (0,1)) and ((`vishalecarter_april_setup`.`cscart_aprilcategories`.`usergroup_ids` = '') or find_in_set(0,`vishalecarter_april_setup`.`cscart_aprilcategories`.`usergroup_ids`) or find_in_set(1,`vishalecarter_april_setup`.`cscart_aprilcategories`.`usergroup_ids`)) and (`vishalecarter_april_setup`.`cscart_aprilcategories`.`status` in ('A','H')))"
          }
        },
        {
          "table": {
            "table_name": "cscart_aprilproducts_categories",
            "access_type": "ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "vishalecarter_april_setup.cscart_aprilcategories.category_id"
            ],
            "rows_examined_per_scan": 2,
            "rows_produced_per_join": 0,
            "filtered": "10.07",
            "index_condition": "(`vishalecarter_april_setup`.`cscart_aprilproducts_categories`.`product_id` in (182,41,56,57,30,112,246,89,197,208,173,97,229,211,210,209,67,25,116,213,215,226,200,154))",
            "cost_info": {
              "read_cost": "9.00",
              "eval_cost": "0.14",
              "prefix_cost": "30.55",
              "data_read_per_join": "10"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids
25 195M
30 176M
41 225M
56 187M
57 187M
67 236M
89 247M
97 242M
112 243M
116 243M
154 181M
173 199M
182 252M
197 229M,231
200 230M
208 171M
209 172M
210 172M
211 172M
213 201M
215 201M
226 201M
229 170M
246 199M