The basic and adaptive maximum power point tracking algorithms have been studied for distributed photovoltaic systems to maximize the energy production of a photovoltaic (PV) module. However, the basic maximum power point tracking algorithms using a fixed step size, such as perturb and observe and incremental conductance, suffer from a trade-off between tracking accuracy and tracking speed. Although the adaptive maximum power point tracking algorithms using a variable step size improve the maximum power point tracking efficiency and dynamic response of the basic algorithms, these algorithms still have the oscillations at the maximum power point, because the variable step size is sensitive to external factors. Therefore, this paper proposes an enhanced maximum power point tracking algorithm that can have fast dynamic response, low oscillations, and high maximum power point tracking efficiency. To achieve these advantages, the proposed maximum power point tracking algorithm uses two methods that can apply the optimal step size to each operating range. In the operating range near the maximum power point, a small fixed step size is used to minimize the oscillations at the maximum power point. In contrast, in the operating range far from the maximum power point, a variable step size proportional to the slope of the power-voltage curve of PV module is used to achieve fast tracking speed under dynamic weather conditions. As a result, the proposed algorithm can achieve higher maximum power point tracking efficiency, faster dynamic response, and lower oscillations than the basic and adaptive algorithms. The theoretical analysis and performance of the proposed algorithm were verified by experimental results. In addition, the comparative experimental results of the proposed algorithm with the other maximum power point tracking algorithms show the superiority of the proposed algorithm.