Almost anything is possible... the issue is the work-effort required to achieve the desired result.
In this case there are a lot of variables that you haven't covered, which may make the job easier or harder.
For example, you give a series of example file names, and appear to want to group them by the same initial 6 characters (although your example seems to create folder names based on the first 8 characters of the first match... is that true? Without knowing the background, I would expect '07-480-1.jpg' to go into the '07-480' folder, not the '07-481-1' folder). Those kinds of details will make a difference.
So if my theory is correct ('07-480' should be the folder name), do you want to create a folder every time? or only when there are two or more files (e.g. do you want an '07-490' folder when there's only one relevant file?
Here's a starting point. I'm assuming that you want the '07-480' form of the folder. When the script runs it will ask for the folder to check, then (blindly) iterate through the files in that folder, moving them into folders based on the first 6 characters of the file name, making new folders as needed:
tell application "Finder"
set theFolder to (choose folder)
repeat with eachfile in (get files of theFolder)
-- assume the standard filename format
-- may need error checking here to make sure the name matches what we expect
-- for now we just skip over any errors through the use of a try statement
try
-- get the first 6 characters of the file name
set basename to characters 1 through 6 of (get name of eachfile) as text
-- check if we already have a folder of the desired name
if (not (exists folder basename of theFolder)) then
-- we don't, so make one
makenewfolderattheFolderwith properties {name:basename}
end if
-- now move the file into the folder
moveeachfiletofolderbasename of theFolder
end try
end repeat
end tell