Create a Holding Table for the raw data along the lines of
CREATE TABLE [dbo].[RAW_Person]
(
[PersonID] [varchar](50) NOT NULL,
[FirstName] [varchar](50) NOT NULL,
[LastName] [varchar](50) NOT NULL,
[HireDate] [varchar](50) NULL,
[Enrollment Date] [varchar](50) NULL
)
BULK Insert the data into that table
And then perform the text to date conversion as part of the final Insert
INSERT INTO
Person (PersonID, FirstName, LastName, HireDate, [Enrollment Date])
SELECT PersonID, FirstName, LastName,
CONVERT(date, [HireDate], 120),
CONVERT(datetime, [Enrollment Date], 120)
FROM RAW_Person
I've used the formatting code 120 (ODBC data format) but you might need some other value look up the CONVERT function in the help files/MSDN for more information
Once you've successfully done that you can get rid of the holding table data
TRUNCATE TABLE [dbo].[RAW_Person]
Or if you're never doing this again
DROP TABLE [dbo].[RAW_Person]