Enumerative Invariants in Algebraic Geometry and String Theory