This paper studies an unmanned aerial vehicle (UAV)-enabled multicasting system, where a UAV is dispatched to disseminate a common file to a number of geographically distributed ground terminals (GTs). Our objective is to design the UAV trajectory to minimize its mission completion time, while ensuring that each GT is able to successfully recover the file with a high probability required. We consider the use of practical random linear network coding (RLNC) for UAV multicasting, so that each GT is able to recover the file as long as it receives a sufficiently large number of coded packets. However, the formulated UAV trajectory optimization problem is non-convex and difficult to be directly solved. To tackle this issue, we first derive an analytical lower bound for the success probability of each GTs file recovery. Based on this result, we then reformulate the problem into a more tractable form, where the UAV trajectory only needs to be designed to meet a set of constraints each on the minimum connection time with a GT, during which their distance is below a designed threshold. We show that the optimal UAV trajectory only needs to constitute connected line segments, thus it can be obtained by determining first the optimal set of waypoints and then UAV speed along the lines connecting the waypoints. We propose practical schemes for the waypoints design based on a novel concept of virtual base station (VBS) placement and by applying convex optimization techniques. Furthermore, for given set of waypoints, we obtain the optimal UAV speed over the resulting path efficiently by solving a linear programming (LP) problem. Numerical results show that the proposed UAV-enabled multicasting with optimized trajectory design achieves significant performance gains as compared to benchmark schemes.