SELECT 
  product_prices.product_id, 
  MIN(
    IF(
      product_prices.percentage_discount = 0, 
      product_prices.price, 
      product_prices.price - (
        product_prices.price * product_prices.percentage_discount
      )/ 100
    )
  ) AS price 
FROM 
  product_prices 
WHERE 
  product_prices.product_id IN (
    407680, 408185, 408191, 408208, 408237, 
    408948, 408963, 408964, 408989, 408995, 
    409500, 409511, 409513, 409518, 409547, 
    410269, 410280, 410282, 410818, 410821, 
    410826, 410830, 411580, 411590
  ) 
  AND product_prices.lower_limit = 1 
  AND product_prices.usergroup_id IN (0, 1) 
GROUP BY 
  product_prices.product_id

Query time 0.00349

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "16.81"
    },
    "grouping_operation": {
      "using_filesort": false,
      "table": {
        "table_name": "product_prices",
        "access_type": "range",
        "possible_keys": [
          "usergroup",
          "product_id",
          "lower_limit",
          "usergroup_id"
        ],
        "key": "product_id",
        "used_key_parts": [
          "product_id"
        ],
        "key_length": "3",
        "rows_examined_per_scan": 24,
        "rows_produced_per_join": 2,
        "filtered": "10.00",
        "index_condition": "(`goimagine`.`product_prices`.`product_id` in (407680,408185,408191,408208,408237,408948,408963,408964,408989,408995,409500,409511,409513,409518,409547,410269,410280,410282,410818,410821,410826,410830,411580,411590))",
        "cost_info": {
          "read_cost": "16.57",
          "eval_cost": "0.24",
          "prefix_cost": "16.81",
          "data_read_per_join": "57"
        },
        "used_columns": [
          "id",
          "product_id",
          "price",
          "percentage_discount",
          "lower_limit",
          "usergroup_id"
        ],
        "attached_condition": "((`goimagine`.`product_prices`.`lower_limit` = 1) and (`goimagine`.`product_prices`.`usergroup_id` in (0,1)))"
      }
    }
  }
}

Result

product_id price
407680 2.45000000
408185 18.00000000
408191 2.45000000
408208 2.45000000
408237 18.00000000
408948 18.00000000
408963 18.00000000
408964 18.00000000
408989 15.00000000
408995 18.00000000
409500 3.55000000
409511 2.45000000
409513 2.45000000
409518 2.45000000
409547 18.00000000
410269 2.45000000
410280 18.00000000
410282 18.00000000
410818 18.00000000
410821 2.45000000
410826 2.45000000
410830 2.45000000
411580 3.55000000
411590 2.45000000